$(function() {
	$.getUrlParam = function(name) {
		var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
		var r = window.location.search.substr(1).match(reg);
		if (r != null)
			return unescape(r[2]);
		return null;
	}
	
	$.extend({
		aikxianAjax : function(param) {
			console.log("路径:" + param.url);
			console.log("访问数据：" + JSON.stringify(param.data));
			var ajaxParam = {
				type : param.methodType?param.methodType:"POST",
				async : true,
				data : param.data,
				url : param.url,
				cache : false,
				dataType : param.dataType ? param.dataType : "json",
				success : function(msg) {
					if (msg && msg.errormessage) {
						ajaxParam.error.apply(this);
					} else {
						/** 正常处理* */
						param.success.apply(this, [ msg ]);
					}
				},
				error : function(err) {
					// 判断是否定义了异常处理方法
					console.log(err.responseText);
					if (param.error) {
						param.error.apply(this);
					}
				}
			};
			$.ajax(ajaxParam.url, ajaxParam); // 调用JQuery的Ajax方法
		},
		aikxianJsonP : function(param) {
			console.log("路径:" + param.url);
			console.log("访问数据：" + JSON.stringify(param.data));
			var ajaxParam = {
				type : "get",
				async : true,
				data : param.data,
				url : param.url,
				cache : false,
				 dataType : "jsonp",     
				jsonp: 'callback', 
				success : function(msg) {
					if (msg && msg.errormessage) {
						ajaxParam.error.apply(this);
					} else {
						/** 正常处理* */
						param.success.apply(this, [ msg ]);
					}
				},
				error : function(err) {
					// 判断是否定义了异常处理方法
					console.log(err.responseText);
					if (param.error) {
						param.error.apply(this);
					}
				}
			};
			$.ajax(ajaxParam.url, ajaxParam); // 调用JQuery的Ajax方法
		}
	});
	
	
	
	/**
	 * jsonValue:JSON数据集合
	 * propid：
	 * option：{svalue:"1",sclass:"mui-active"} 解释：当value=1时, addClass(sclass),否则remove这个样式
	 * ignore：ignore:是否忽略子对象	为补足对json对象中子对象遍历时 findbyid 的对象关系$("#a.b");
	 * ***/
 	$.fn.setAllValue = function(jsonValue, propid,option,ignore) {
 		var obj = $(this);
 		for ( var name in jsonValue) {
 			var ename = name;
 			if (propid&&!ignore) {
 				ename = propid + "." + ename;
 				ename=ename.replace(/(:|\.|\#|\@|\$|\%|\^|\&|\*|\!)/g,'\\$1');
 			}
 			if (jsonValue[name] != null&& jsonValue[name].toString() == "[object Object]") {
 				obj.setAllValue(jsonValue[name], ename,option,ignore);
 				continue;
 			}

 			var element = $(obj).find("#" + ename);
 			if (element && element.length > 0) {
 				aikxiansetValue(element, jsonValue[name],option);
 			} else {
 				element = $(obj).find("[name='" + ename + "']");
 				if (element && element.length > 0) {
 					aikxiansetValue(element, jsonValue[name],option);
 				}
 			}
 		}
 	}
 	
 	function aikxiansetValue(element, value,option) {
 		if (!element || element.length == 0)
 			return;
 		if (element.length > 1) {
 			$(element).each(function() {
 				aikxiansetValue($(this), value,option);
 			});
 		} else {
 			if(option&&option.svalue&&option.sclass){
 				if(value==option.svalue){
 					$(element).addClass(option.sclass);
 				}else{
 					$(element).removeClass(option.sclass);
 				}
 				return;
 			}
 			if ($(element).is(':text')) {
 				$(element).val(value);
 			} else if ($(element).is(':radio')) {
 				if ($(element).val() == value) {
 					$(element).prop("checked", true);
 				} else {
 					$(element).prop("checked", false);
 				}
 			} else if ($(element).is(':checkbox')) {
 				if($(element).val()==""){
 					$(element).val(value);
 				}else{
	 				if (value == $(element).val()) {
	 					$(element).prop("checked", true);
	 				} else {
	 					$(element).prop("checked", false);
	 				}
 				}
 			} else if ($(element).is('select')) {
 				$(element).val(value).trigger("change");
 			} else if ($(element).is('div')) {
 				if($(element).attr("data-value")){
 					$(element).attr("data-value",value);
 				}else{
 					$(element).html((!value&&value=="")?"&nbsp;":value);
 				}
 			} else if ($(element).is('span')) {
 				$(element).html(value);
 			} else if ($(element).is('strong')) {
 				$(element).html(value);
 			}else if ($(element).is('label')) {
 				$(element).html(value);
 			} else if ($(element).is('li')) {
 				$(element).html(value);
 			} else if ($(element).is('img')) {
 				$(element).attr("src", value);
 			} else if ($(element).is('dd')) {
 				$(element).html(value);
 			}else if ($(element).is('td')) {
 				$(element).html(value);
 			} else if ($(element).is('i')) {
 				$(element).html(value);
 			} else if ($(element).is('p')) {
 				$(element).html(value);
 			}  else if ($(element).is('em')) {
 				$(element).html(value);
 			} else if ($(element).is('tel')) {
 				$(element).find("a").attr("href","tel:"+value);
 			}else {
 				$(element).val(value);
 			}
 		}
 	}
	
});